Building management system with advanced search actions and bulk commands

ABSTRACT

A system for managing energy usage of equipment in a building network includes one or more processing circuits configured to select a plurality of points, equipment, spaces, or objects of the building network; perform a bulk modification of the plurality of the points, equipment, spaces, or objects of the building network by providing a bulk modification command via the building network; analyze time series data associated with the points, equipment, spaces, or objects of the building network using values provided via the bulk modification; and manage energy usage of the equipment based on a result of analyzing the time series data associated with the points, equipment, spaces, or objects of the building network.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application is a continuation of U.S. Pat. Application No.17/552,234 filed Dec. 15, 2021, which is a continuation-in-part of U.S.Pat. Application No. 17/317,800, filed May 11, 2021 (now U.S. Patent No.11,221,600), which is a continuation-in-part of U.S. Pat. ApplicationNo. 16/427,056 filed May 30, 2019 (now U.S. Pat. No. 11,029,654), whichclaims the benefit of and priority to U.S. Provisional Pat. ApplicationNo. 62/678,159 filed May 30, 2018. U.S. Pat. Application No. 17/317,800is also a continuation-in-part of U.S. Pat. Application No. 16/439,557filed Jun. 12, 2019 (now U.S. Pat. No. 11,139,998), which claims thebenefit of and priority to U.S. Provisional Pat. Application No.62/699,652 filed Jul. 17, 2018. U.S. Pat. Application No. 17/552,234 isalso a continuation-in-part of U.S. Pat. Application No. 16/100,962filed Aug. 10, 2018 (now U.S. Pat. No. 11,206,153), which claims thebenefit of and priority to U.S. Provisional Pat. Application No.62/545,073 filed Aug. 14, 2017. All of these patent applications andpatents are incorporated herein by reference in their entireties.

BACKGROUND

The present disclosure relates generally to the field of buildingmanagement systems. A building management system (BMS) is, in general, asystem of devices configured to control, monitor, and manage equipmentin or around a building or building area. A BMS can include, forexample, an HVAC system, a security system, a lighting system, a firealerting system, any other system that is capable of managing buildingfunctions or devices, or any combination thereof.

SUMMARY

One implementation of the present disclosure is a building managementsystem. The building management system includes (i) one or more buildingsystems including equipment configured to serve one or more spaces in abuilding and (ii) one or more circuits. The one or more circuits areconfigured to receive an input to invoke a control strategy to modify acondition of the one or more spaces; define an output of the controlstrategy where the output relates to a modification that impacts atleast one of a location, an equipment type, or a point type; perform aquery to identify one or more points associated with the output wherethe one or more points are defined in terms of at least one of thelocation, the equipment type, or the point type; and automaticallymodify one or more values of the one or more points to implement thecontrol strategy.

Another implementation of the present disclosure is a buildingmanagement system. The building management system includes (i) one ormore building systems including one or more pieces of equipmentconfigured to serve one or more spaces in a building and (ii) one ormore circuits. The one or more circuits are configured to invoke acontrol strategy following a change in a configuration of at least oneof (i) at least one of the one or more spaces or (ii) at least one ofthe one or more pieces of equipment; perform a query to identify atleast one of (i) equipment of the one or more pieces of equipment or(ii) points associated with the equipment that are associated with thechange in the configuration; and at least one of (i) automaticallymodify the points or (ii) automatically operate the equipment based onthe change in the configuration to execute the control strategy.

Another implementation of the present disclosure is a method forautomatically implementing a control strategy. The method includesreceiving, by one or more circuits, an input to invoke the controlstrategy following a change in a configuration of at least one of (i)one or more spaces of a building or (ii) one or more pieces of equipmentof the building; performing, by the one or more circuits, a query toidentify at least one of (i) equipment of the one or more pieces ofequipment or (ii) points associated with the equipment that areassociated with the change in the configuration; and at least one of (i)automatically modifying, by the one or more circuits, one or more valuesof the points or (ii) automatically operating, by the one or morecircuits, the equipment based on the change in the configuration toexecute the control strategy.

Those skilled in the art will appreciate that the summary isillustrative only and is not intended to be in any way limiting. Otheraspects, inventive features, and advantages of the devices and/orprocesses described herein, as defined solely by the claims, will becomeapparent in the detailed description set forth herein and taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a drawing of a building equipped with a building managementsystem (BMS) and a HVAC system, according to some embodiments.

FIG. 2 is a schematic of a waterside system which can be used as part ofthe HVAC system of FIG. 1 , according to some embodiments.

FIG. 3 is a block diagram of an airside system which can be used as partof the HVAC system of FIG. 1 , according to some embodiments.

FIG. 4 is a block diagram of a BMS which can be used in the building ofFIG. 1 , according to some embodiments.

FIG. 5 is a block diagram of a global search and control system,according to some embodiments.

FIG. 6A is an illustration of a search graphical user interface (GUI)provided by the global search and control system of FIG. 5 having afilter area and a results area, according to some embodiments.

FIG. 6B is an illustration of the search GUI of FIG. 6A with anadditional equipment definition dropdown menu and aliased point searchbox and selector, according to some embodiments.

FIG. 7 is an illustration of the search GUI of FIGS. 6A-6B having searchresults in the results area, according to some embodiments.

FIG. 8 is an illustration of a drop down actions menu of the search GUIof FIGS. 6A-6B, according to some embodiments.

FIG. 9 is an illustration of a bulk command modal window provided overthe search GUI of FIGS. 6A-6B, according to some embodiments.

FIG. 10 is an illustration of a report creator modal window providedover the search GUI of FIGS. 6A-6B, according to some embodiments.

FIG. 11 is a flow diagram of a method for performing a global search,according to some embodiments.

FIG. 12 is a flow diagram of a method for performing a single command onan item from global search results, according to some embodiments.

FIG. 13 is a flow diagram of a method for viewing a network pageassociated with an item from global search results, according to someembodiments.

FIG. 14 is a flow diagram of a method for viewing a space or equipmentpage associated with an item from global search results, according tosome embodiments.

FIG. 15 is a flow diagram of a method for generating a report based onglobal search results, according to some embodiments.

FIG. 16 is a flow diagram of a method for performing a bulk commandprocess on a plurality of items from global search results, according tosome embodiments.

FIG. 17 is an illustration of a bulk command modal window provided overthe search GUI of FIGS. 6A-6B, according to some embodiments.

FIG. 18 is an illustration of a future report generation window,according to some embodiments.

FIG. 19 is a flowchart of a process for searching using aliased pointsand equipment definitions, according to some embodiments.

FIG. 20 is a flowchart of a process for implementing a control strategyby automatically finding points to be modified by the control strategy,according to some embodiments.

FIG. 21 a flowchart of a process for automatically adapting a controlstrategy to account for a changed configuration of building equipmentand/or building spaces, according to some embodiments.

DETAILED DESCRIPTION Building Management System and HVAC System

Referring now to FIGS. 1-4 , an example building management system (BMS)and HVAC system in which the systems and methods of the presentdisclosure can be implemented are shown, according to an exampleembodiment. Referring particularly to FIG. 1 , a perspective view of abuilding 10 is shown. Building 10 is served by a BMS. A BMS is, ingeneral, a system of devices configured to control, monitor, and manageequipment in or around a building or building area. A BMS can include,for example, a HVAC system, a security system, a lighting system, a firealerting system, any other system that is capable of managing buildingfunctions or devices, or any combination thereof.

The BMS that serves building 10 includes an HVAC system 100. HVAC system100 can include a plurality of HVAC devices (e.g., heaters, chillers,air handling units, pumps, fans, thermal energy storage, etc.)configured to provide heating, cooling, ventilation, or other servicesfor building 10. For example, HVAC system 100 is shown to include awaterside system 120 and an airside system 130. Waterside system 120 canprovide a heated or chilled fluid to an air handling unit of airsidesystem 130. Airside system 130 can use the heated or chilled fluid toheat or cool an airflow provided to building 10. An example watersidesystem and airside system which can be used in HVAC system 100 aredescribed in greater detail with reference to FIGS. 2 and 3 .

HVAC system 100 is shown to include a chiller 102, a boiler 104, and arooftop air handling unit (AHU) 106. Waterside system 120 can use boiler104 and chiller 102 to heat or cool a working fluid (e.g., water,glycol, etc.) and can circulate the working fluid to AHU 106. In variousembodiments, the HVAC devices of waterside system 120 can be located inor around building 10 (as shown in FIG. 1 ) or at an offsite locationsuch as a central plant (e.g., a chiller plant, a steam plant, a heatplant, etc.). The working fluid can be heated in boiler 104 or cooled inchiller 102, depending on whether heating or cooling is required inbuilding 10. Boiler 104 can add heat to the circulated fluid, forexample, by burning a combustible material (e.g., natural gas) or usingan electric heating element. Chiller 102 can place the circulated fluidin a heat exchange relationship with another fluid (e.g., a refrigerant)in a heat exchanger (e.g., an evaporator) to absorb heat from thecirculated fluid. The working fluid from chiller 102 and/or boiler 104can be transported to AHU 106 via piping 108.

AHU 106 can place the working fluid in a heat exchange relationship withan airflow passing through AHU 106 (e.g., via one or more stages ofcooling coils and/or heating coils). The airflow can be, for example,outside air, return air from within building 10, or a combination ofboth. AHU 106 can transfer heat between the airflow and the workingfluid to provide heating or cooling for the airflow. For example, AHU106 can include one or more fans or blowers configured to pass theairflow over or through a heat exchanger containing the working fluid.The working fluid can then return to chiller 102 or boiler 104 viapiping 110.

Airside system 130 can deliver the airflow supplied by AHU 106 (i.e.,the supply airflow) to building 10 via air supply ducts 112 and canprovide return air from building 10 to AHU 106 via air return ducts 114.In some embodiments, airside system 130 includes multiple variable airvolume (VAV) units 116. For example, airside system 130 is shown toinclude a separate VAV unit 116 on each floor or zone of building 10.VAV units 116 can include dampers or other flow control elements thatcan be operated to control an amount of the supply airflow provided toindividual zones of building 10. In other embodiments, airside system130 delivers the supply airflow into one or more zones of building 10(e.g., via supply ducts 112) without using intermediate VAV units 116 orother flow control elements. AHU 106 can include various sensors (e.g.,temperature sensors, pressure sensors, etc.) configured to measureattributes of the supply airflow. AHU 106 can receive input from sensorslocated within AHU 106 and/or within the building zone and can adjustthe flow rate, temperature, or other attributes of the supply airflowthrough AHU 106 to achieve setpoint conditions for the building zone.

Referring now to FIG. 2 , a block diagram of a waterside system 200 isshown, according to an example embodiment. In various embodiments,waterside system 200 can supplement or replace waterside system 120 inHVAC system 100 or can be implemented separate from HVAC system 100.When implemented in HVAC system 100, waterside system 200 can include asubset of the HVAC devices in HVAC system 100 (e.g., boiler 104, chiller102, pumps, valves, etc.) and can operate to supply a heated or chilledfluid to AHU 106. The HVAC devices of waterside system 200 can belocated within building 10 (e.g., as components of waterside system 120)or at an offsite location such as a central plant.

In FIG. 2 , waterside system 200 is shown as a central plant having aplurality of subplants 202-212. Subplants 202-212 are shown to include aheater subplant 202, a heat recovery chiller subplant 204, a chillersubplant 206, a cooling tower subplant 208, a hot thermal energy storage(TES) subplant 210, and a cold thermal energy storage (TES) subplant212. Subplants 202-212 consume resources (e.g., water, natural gas,electricity, etc.) from utilities to serve the thermal energy loads(e.g., hot water, cold water, heating, cooling, etc.) of a building orcampus. For example, heater subplant 202 can be configured to heat waterin a hot water loop 214 that circulates the hot water between heatersubplant 202 and building 10. Chiller subplant 206 can be configured tochill water in a cold water loop 216 that circulates the cold waterbetween chiller subplant 206 building 10. Heat recovery chiller subplant204 can be configured to transfer heat from cold water loop 216 to hotwater loop 214 to provide additional heating for the hot water andadditional cooling for the cold water. Condenser water loop 218 canabsorb heat from the cold water in chiller subplant 206 and reject theabsorbed heat in cooling tower subplant 208 or transfer the absorbedheat to hot water loop 214. Hot TES subplant 210 and cold TES subplant212 can store hot and cold thermal energy, respectively, for subsequentuse.

Hot water loop 214 and cold water loop 216 can deliver the heated and/orchilled water to air handlers located on the rooftop of building 10(e.g., AHU 106) or to individual floors or zones of building 10 (e.g.,VAV units 116). The air handlers push air past heat exchangers (e.g.,heating coils or cooling coils) through which the water flows to provideheating or cooling for the air. The heated or cooled air can bedelivered to individual zones of building 10 to serve the thermal energyloads of building 10. The water then returns to subplants 202-212 toreceive further heating or cooling.

Although subplants 202-212 are shown and described as heating andcooling water for circulation to a building, it is understood that anyother type of working fluid (e.g., glycol, CO2, etc.) can be used inplace of or in addition to water to serve the thermal energy loads. Inother embodiments, subplants 202-212 can provide heating and/or coolingdirectly to the building or campus without requiring an intermediateheat transfer fluid. These and other variations to waterside system 200are within the teachings of the present invention.

Each of subplants 202-212 can include a variety of equipment configuredto facilitate the functions of the subplant. For example, heatersubplant 202 is shown to include a plurality of heating elements 220(e.g., boilers, electric heaters, etc.) configured to add heat to thehot water in hot water loop 214. Heater subplant 202 is also shown toinclude several pumps 222 and 224 configured to circulate the hot waterin hot water loop 214 and to control the flow rate of the hot waterthrough individual heating elements 220. Chiller subplant 206 is shownto include a plurality of chillers 232 configured to remove heat fromthe cold water in cold water loop 216. Chiller subplant 206 is alsoshown to include several pumps 234 and 236 configured to circulate thecold water in cold water loop 216 and to control the flow rate of thecold water through individual chillers 232.

Heat recovery chiller subplant 204 is shown to include a plurality ofheat recovery heat exchangers 226 (e.g., refrigeration circuits)configured to transfer heat from cold water loop 216 to hot water loop214. Heat recovery chiller subplant 204 is also shown to include severalpumps 228 and 230 configured to circulate the hot water and/or coldwater through heat recovery heat exchangers 226 and to control the flowrate of the water through individual heat recovery heat exchangers 226.Cooling tower subplant 208 is shown to include a plurality of coolingtowers 238 configured to remove heat from the condenser water incondenser water loop 218. Cooling tower subplant 208 is also shown toinclude several pumps 240 configured to circulate the condenser water incondenser water loop 218 and to control the flow rate of the condenserwater through individual cooling towers 238.

Hot TES subplant 210 is shown to include a hot TES tank 242 configuredto store the hot water for later use. Hot TES subplant 210 can alsoinclude one or more pumps or valves configured to control the flow rateof the hot water into or out of hot TES tank 242. Cold TES subplant 212is shown to include cold TES tanks 244 configured to store the coldwater for later use. Cold TES subplant 212 can also include one or morepumps or valves configured to control the flow rate of the cold waterinto or out of cold TES tanks 244.

In some embodiments, one or more of the pumps in waterside system 200(e.g., pumps 222, 224, 228, 230, 234, 236, and/or 240) or pipelines inwaterside system 200 include an isolation valve associated therewith.Isolation valves can be integrated with the pumps or positioned upstreamor downstream of the pumps to control the fluid flows in watersidesystem 200. In various embodiments, waterside system 200 can includemore, fewer, or different types of devices and/or subplants based on theparticular configuration of waterside system 200 and the types of loadsserved by waterside system 200.

Referring now to FIG. 3 , a block diagram of an airside system 300 isshown, according to an example embodiment. In various embodiments,airside system 300 can supplement or replace airside system 130 in HVACsystem 100 or can be implemented separate from HVAC system 100. Whenimplemented in HVAC system 100, airside system 300 can include a subsetof the HVAC devices in HVAC system 100 (e.g., AHU 106, VAV units 116,duct 112, duct 114, fans, dampers, etc.) and can be located in or aroundbuilding 10. Airside system 300 can operate to heat or cool an airflowprovided to building 10 using a heated or chilled fluid provided bywaterside system 200.

In FIG. 3 , airside system 300 is shown to include an economizer-typeair handling unit (AHU) 302. Economizer-type AHUs vary the amount ofoutside air and return air used by the air handling unit for heating orcooling. For example, AHU 302 can receive return air 304 from buildingzone 306 via return air duct 308 and can deliver supply air 310 tobuilding zone 306 via supply air duct 312. In some embodiments, AHU 302is a rooftop unit located on the roof of building 10 (e.g., AHU 106 asshown in FIG. 1 ) or otherwise positioned to receive both return air 304and outside air 314. AHU 302 can be configured to operate exhaust airdamper 316, mixing damper 318, and outside air damper 320 to control anamount of outside air 314 and return air 304 that combine to form supplyair 310. Any return air 304 that does not pass through mixing damper 318can be exhausted from AHU 302 through exhaust damper 316 as exhaust air322.

Each of dampers 316-320 can be operated by an actuator. For example,exhaust air damper 316 can be operated by actuator 324, mixing damper318 can be operated by actuator 326, and outside air damper 320 can beoperated by actuator 328. Actuators 324-328 can communicate with an AHUcontroller 330 via a communications link 332. Actuators 324-328 canreceive control signals from AHU controller 330 and can provide feedbacksignals to AHU controller 330. Feedback signals can include, forexample, an indication of a current actuator or damper position, anamount of torque or force exerted by the actuator, diagnosticinformation (e.g., results of diagnostic tests performed by actuators324-328), status information, commissioning information, configurationsettings, calibration data, and/or other types of information or datathat can be collected, stored, or used by actuators 324-328. AHUcontroller 330 can be an economizer controller configured to use one ormore control algorithms (e.g., state-based algorithms, extremum seekingcontrol (ESC) algorithms, proportional-integral (PI) control algorithms,proportional-integral-derivative (PID) control algorithms, modelpredictive control (MPC) algorithms, feedback control algorithms, etc.)to control actuators 324-328.

Still referring to FIG. 3 , AHU 302 is shown to include a cooling coil334, a heating coil 336, and a fan 338 positioned within supply air duct312. Fan 338 can be configured to force supply air 310 through coolingcoil 334 and/or heating coil 336 and provide supply air 310 to buildingzone 306. AHU controller 330 can communicate with fan 338 viacommunications link 340 to control a flow rate of supply air 310. Insome embodiments, AHU controller 330 controls an amount of heating orcooling applied to supply air 310 by modulating a speed of fan 338.

Cooling coil 334 can receive a chilled fluid from waterside system 200(e.g., from cold water loop 216) via piping 342 and can return thechilled fluid to waterside system 200 via piping 344. Valve 346 can bepositioned along piping 342 or piping 344 to control a flow rate of thechilled fluid through cooling coil 334. In some embodiments, coolingcoil 334 includes multiple stages of cooling coils that can beindependently activated and deactivated (e.g., by AHU controller 330, byBMS controller 366, etc.) to modulate an amount of cooling applied tosupply air 310.

Heating coil 336 can receive a heated fluid from waterside system 200(e.g., from hot water loop 214) via piping 348 and can return the heatedfluid to waterside system 200 via piping 350. Valve 352 can bepositioned along piping 348 or piping 350 to control a flow rate of theheated fluid through heating coil 336. In some embodiments, heating coil336 includes multiple stages of heating coils that can be independentlyactivated and deactivated (e.g., by AHU controller 330, by BMScontroller 366, etc.) to modulate an amount of heating applied to supplyair 310.

Each of valves 346 and 352 can be controlled by an actuator. Forexample, valve 346 can be controlled by actuator 354 and valve 352 canbe controlled by actuator 356. Actuators 354-356 can communicate withAHU controller 330 via communications links 358-360. Actuators 354-356can receive control signals from AHU controller 330 and can providefeedback signals to controller 330. In some embodiments, AHU controller330 receives a measurement of the supply air temperature from atemperature sensor 362 positioned in supply air duct 312 (e.g.,downstream of cooling coil 334 and/or heating coil 336). AHU controller330 can also receive a measurement of the temperature of building zone306 from a temperature sensor 364 located in building zone 306.

In some embodiments, AHU controller 330 operates valves 346 and 352 viaactuators 354-356 to modulate an amount of heating or cooling providedto supply air 310 (e.g., to achieve a setpoint temperature for supplyair 310 or to maintain the temperature of supply air 310 within asetpoint temperature range). The positions of valves 346 and 352 affectthe amount of heating or cooling provided to supply air 310 by coolingcoil 334 or heating coil 336 and may correlate with the amount of energyconsumed to achieve a desired supply air temperature. AHU controller 330can control the temperature of supply air 310 and/or building zone 306by activating or deactivating coils 334-336, adjusting a speed of fan338, or a combination of both.

Still referring to FIG. 3 , airside system 300 is shown to include abuilding management system (BMS) controller 366 and a client device 368.BMS controller 366 can include one or more computer systems (e.g.,servers, supervisory controllers, subsystem controllers, etc.) thatserve as system level controllers, application or data servers, headnodes, or master controllers for airside system 300, waterside system200, HVAC system 100, and/or other controllable systems that servebuilding 10. BMS controller 366 can communicate with multiple downstreambuilding systems or subsystems (e.g., HVAC system 100, a securitysystem, a lighting system, waterside system 200, etc.) via acommunications link 370 according to like or disparate protocols (e.g.,LON, BACnet, etc.). In various embodiments, AHU controller 330 and BMScontroller 366 can be separate (as shown in FIG. 3 ) or integrated. Inan integrated implementation, AHU controller 330 can be a softwaremodule configured for execution by a processor of BMS controller 366.

In some embodiments, AHU controller 330 receives information from BMScontroller 366 (e.g., commands, setpoints, operating boundaries, etc.)and provides information to BMS controller 366 (e.g., temperaturemeasurements, valve or actuator positions, operating statuses,diagnostics, etc.). For example, AHU controller 330 can provide BMScontroller 366 with temperature measurements from temperature sensors362 and 364, equipment on/off states, equipment operating capacities,and/or any other information that can be used by BMS controller 366 tomonitor or control a variable state or condition within building zone306.

Client device 368 can include one or more human-machine interfaces orclient interfaces (e.g., graphical user interfaces, reportinginterfaces, text-based computer interfaces, client-facing web services,web servers that provide pages to web clients, etc.) for controlling,viewing, or otherwise interacting with HVAC system 100, its subsystems,and/or devices. Client device 368 can be a computer workstation, aclient terminal, a remote or local interface, or any other type of userinterface device. Client device 368 can be a stationary terminal or amobile device. For example, client device 368 can be a desktop computer,a computer server with a user interface, a laptop computer, a tablet, asmartphone, a PDA, or any other type of mobile or non-mobile device.Client device 368 can communicate with BMS controller 366 and/or AHUcontroller 330 via communications link 372.

Referring now to FIG. 4 , a block diagram of a building managementsystem (BMS) 400 is shown, according to an example embodiment. BMS 400can be implemented in building 10 to automatically monitor and controlvarious building functions. BMS 400 is shown to include BMS controller366 and a plurality of building subsystems 428. Building subsystems 428are shown to include a building electrical subsystem 434, an informationcommunication technology (ICT) subsystem 436, a security subsystem 438,a HVAC subsystem 440, a lighting subsystem 442, a lift/escalatorssubsystem 432, and a fire safety subsystem 430. In various embodiments,building subsystems 428 can include fewer, additional, or alternativesubsystems. For example, building subsystems 428 can also oralternatively include a refrigeration subsystem, an advertising orsignage subsystem, a cooking subsystem, a vending subsystem, a printeror copy service subsystem, or any other type of building subsystem thatuses controllable equipment and/or sensors to monitor or controlbuilding 10. In some embodiments, building subsystems 428 includewaterside system 200 and/or airside system 300, as described withreference to FIGS. 2 and 3 .

Each of building subsystems 428 can include any number of devices,controllers, and connections for completing its individual functions andcontrol activities. HVAC subsystem 440 can include many of the samecomponents as HVAC system 100, as described with reference to FIGS. 1-3. For example, HVAC subsystem 440 can include a chiller, a boiler, anynumber of air handling units, economizers, field controllers,supervisory controllers, actuators, temperature sensors, and otherdevices for controlling the temperature, humidity, airflow, or othervariable conditions within building 10. Lighting subsystem 442 caninclude any number of light fixtures, ballasts, lighting sensors,dimmers, or other devices configured to controllably adjust the amountof light provided to a building space. Security subsystem 438 caninclude occupancy sensors, video surveillance cameras, digital videorecorders, video processing servers, intrusion detection devices, accesscontrol devices (e.g., card access, etc.) and servers, or othersecurity-related devices.

Still referring to FIG. 4 , BMS controller 366 is shown to include acommunications interface 407 and a BMS interface 409. Interface 407 canfacilitate communications between BMS controller 366 and externalapplications (e.g., monitoring and reporting applications 422,enterprise control applications 426, remote systems and applications444, applications residing on client devices 448, etc.) for allowinguser control, monitoring, and adjustment to BMS controller 366 and/orsubsystems 428. Interface 407 can also facilitate communications betweenBMS controller 366 and client devices 448. BMS interface 409 canfacilitate communications between BMS controller 366 and buildingsubsystems 428 (e.g., HVAC, lighting security, lifts, powerdistribution, business, etc.).

Interfaces 407, 409 can be or include wired or wireless communicationsinterfaces (e.g., jacks, antennas, transmitters, receivers,transceivers, wire terminals, etc.) for conducting data communicationswith building subsystems 428 or other external systems or devices. Invarious embodiments, communications via interfaces 407, 409 can bedirect (e.g., local wired or wireless communications) or via acommunications network 446 (e.g., a WAN, the Internet, a cellularnetwork, etc.). For example, interfaces 407, 409 can include an Ethernetcard and port for sending and receiving data via an Ethernet-basedcommunications link or network. In another example, interfaces 407, 409can include a Wi-Fi transceiver for communicating via a wirelesscommunications network. In another example, one or both of interfaces407, 409 can include cellular or mobile phone communicationstransceivers. In one embodiment, communications interface 407 is a powerline communications interface and BMS interface 409 is an Ethernetinterface. In other embodiments, both communications interface 407 andBMS interface 409 are Ethernet interfaces or are the same Ethernetinterface.

Still referring to FIG. 4 , BMS controller 366 is shown to include aprocessing circuit 404 including a processor 406 and memory 408.Processing circuit 404 can be communicably connected to BMS interface409 and/or communications interface 407 such that processing circuit 404and the various components thereof can send and receive data viainterfaces 407, 409. Processor 406 can be implemented as a generalpurpose processor, an application specific integrated circuit (ASIC),one or more field programmable gate arrays (FPGAs), a group ofprocessing components, or other suitable electronic processingcomponents.

Memory 408 (e.g., memory, memory unit, storage device, etc.) can includeone or more devices (e.g., RAM, ROM, Flash memory, hard disk storage,etc.) for storing data and/or computer code for completing orfacilitating the various processes, layers and modules described in thepresent application. Memory 408 can be or include volatile memory ornon-volatile memory. Memory 408 can include database components, objectcode components, script components, or any other type of informationstructure for supporting the various activities and informationstructures described in the present application. According to an exampleembodiment, memory 408 is communicably connected to processor 406 viaprocessing circuit 404 and includes computer code for executing (e.g.,by processing circuit 404 and/or processor 406) one or more processesdescribed herein.

In some embodiments, BMS controller 366 is implemented within a singlecomputer (e.g., one server, one housing, etc.). In various otherembodiments BMS controller 366 can be distributed across multipleservers or computers (e.g., that can exist in distributed locations).Further, while FIG. 4 shows applications 422 and 426 as existing outsideof BMS controller 366, in some embodiments, applications 422 and 426 canbe hosted within BMS controller 366 (e.g., within memory 408).

Still referring to FIG. 4 , memory 408 is shown to include an enterpriseintegration layer 410, an automated measurement and validation (AM&V)layer 412, a demand response (DR) layer 414, a fault detection anddiagnostics (FDD) layer 416, an integrated control layer 418, and abuilding subsystem integration later 420. Layers 410-420 can beconfigured to receive inputs from building subsystems 428 and other datasources, determine optimal control actions for building subsystems 428based on the inputs, generate control signals based on the optimalcontrol actions, and provide the generated control signals to buildingsubsystems 428. The following paragraphs describe some of the generalfunctions performed by each of layers 410-420 in BMS 400.

Enterprise integration layer 410 can be configured to serve clients orlocal applications with information and services to support a variety ofenterprise-level applications. For example, enterprise controlapplications 426 can be configured to provide subsystem-spanning controlto a graphical user interface (GUI) or to any number of enterprise-levelbusiness applications (e.g., accounting systems, user identificationsystems, etc.). Enterprise control applications 426 can also oralternatively be configured to provide configuration GUIs forconfiguring BMS controller 366. In yet other embodiments, enterprisecontrol applications 426 can work with layers 410-420 to optimizebuilding performance (e.g., efficiency, energy use, comfort, or safety)based on inputs received at interface 407 and/or BMS interface 409.

Building subsystem integration layer 420 can be configured to managecommunications between BMS controller 366 and building subsystems 428.For example, building subsystem integration layer 420 can receive sensordata and input signals from building subsystems 428 and provide outputdata and control signals to building subsystems 428. Building subsystemintegration layer 420 can also be configured to manage communicationsbetween building subsystems 428. Building subsystem integration layer420 translate communications (e.g., sensor data, input signals, outputsignals, etc.) across a plurality of multi-vendor/multi-protocolsystems.

Demand response layer 414 can be configured to optimize resource usage(e.g., electricity use, natural gas use, water use, etc.) and/or themonetary cost of such resource usage in response to satisfy the demandof building 10. The optimization can be based on time-of-use prices,curtailment signals, energy availability, or other data received fromutility providers, distributed energy generation systems 424, fromenergy storage 427 (e.g., hot TES 242, cold TES 244, etc.), or fromother sources. Demand response layer 414 can receive inputs from otherlayers of BMS controller 366 (e.g., building subsystem integration layer420, integrated control layer 418, etc.). The inputs received from otherlayers can include environmental or sensor inputs such as temperature,carbon dioxide levels, relative humidity levels, air quality sensoroutputs, occupancy sensor outputs, room schedules, and the like. Theinputs can also include inputs such as electrical use (e.g., expressedin kWh), thermal load measurements, pricing information, projectedpricing, smoothed pricing, curtailment signals from utilities, and thelike.

According to an example embodiment, demand response layer 414 includescontrol logic for responding to the data and signals it receives. Theseresponses can include communicating with the control algorithms inintegrated control layer 418, changing control strategies, changingsetpoints, or activating/deactivating building equipment or subsystemsin a controlled manner. Demand response layer 414 can also includecontrol logic configured to determine when to utilize stored energy. Forexample, demand response layer 414 can determine to begin using energyfrom energy storage 427 just prior to the beginning of a peak use hour.

In some embodiments, demand response layer 414 includes a control moduleconfigured to actively initiate control actions (e.g., automaticallychanging setpoints) which minimize energy costs based on one or moreinputs representative of or based on demand (e.g., price, a curtailmentsignal, a demand level, etc.). In some embodiments, demand responselayer 414 uses equipment models to determine an optimal set of controlactions. The equipment models can include, for example, thermodynamicmodels describing the inputs, outputs, and/or functions performed byvarious sets of building equipment. Equipment models can representcollections of building equipment (e.g., subplants, chiller arrays,etc.) or individual devices (e.g., individual chillers, heaters, pumps,etc.).

Demand response layer 414 can further include or draw upon one or moredemand response policy definitions (e.g., databases, XML files, etc.).The policy definitions can be edited or adjusted by a user (e.g., via agraphical user interface) so that the control actions initiated inresponse to demand inputs can be tailored for the user’s application,desired comfort level, particular building equipment, or based on otherconcerns. For example, the demand response policy definitions canspecify which equipment can be turned on or off in response toparticular demand inputs, how long a system or piece of equipment shouldbe turned off, what setpoints can be changed, what the allowable setpoint adjustment range is, how long to hold a high demand setpointbefore returning to a normally scheduled setpoint, how close to approachcapacity limits, which equipment modes to utilize, the energy transferrates (e.g., the maximum rate, an alarm rate, other rate boundaryinformation, etc.) into and out of energy storage devices (e.g., thermalstorage tanks, battery banks, etc.), and when to dispatch on-sitegeneration of energy (e.g., via fuel cells, a motor generator set,etc.).

Integrated control layer 418 can be configured to use the data input oroutput of building subsystem integration layer 420 and/or demandresponse later 414 to make control decisions. Due to the subsystemintegration provided by building subsystem integration layer 420,integrated control layer 418 can integrate control activities of thesubsystems 428 such that the subsystems 428 behave as a singleintegrated supersystem. In an example embodiment, integrated controllayer 418 includes control logic that uses inputs and outputs from aplurality of building subsystems to provide greater comfort and energysavings relative to the comfort and energy savings that separatesubsystems could provide alone. For example, integrated control layer418 can be configured to use an input from a first subsystem to make anenergy-saving control decision for a second subsystem. Results of thesedecisions can be communicated back to building subsystem integrationlayer 420.

Integrated control layer 418 is shown to be logically below demandresponse layer 414. Integrated control layer 418 can be configured toenhance the effectiveness of demand response layer 414 by enablingbuilding subsystems 428 and their respective control loops to becontrolled in coordination with demand response layer 414. Thisconfiguration may advantageously reduce disruptive demand responsebehavior relative to conventional systems. For example, integratedcontrol layer 418 can be configured to assure that a demandresponse-driven upward adjustment to the setpoint for chilled watertemperature (or another component that directly or indirectly affectstemperature) does not result in an increase in fan energy (or otherenergy used to cool a space) that would result in greater total buildingenergy use than was saved at the chiller.

Integrated control layer 418 can be configured to provide feedback todemand response layer 414 so that demand response layer 414 checks thatconstraints (e.g., temperature, lighting levels, etc.) are properlymaintained even while demanded load shedding is in progress. Theconstraints can also include setpoint or sensed boundaries relating tosafety, equipment operating limits and performance, comfort, fire codes,electrical codes, energy codes, and the like. Integrated control layer418 is also logically below fault detection and diagnostics layer 416and automated measurement and validation layer 412. Integrated controllayer 418 can be configured to provide calculated inputs (e.g.,aggregations) to these higher levels based on outputs from more than onebuilding subsystem.

Automated measurement and validation (AM&V) layer 412 can be configuredto verify that control strategies commanded by integrated control layer418 or demand response layer 414 are working properly (e.g., using dataaggregated by AM&V layer 412, integrated control layer 418, buildingsubsystem integration layer 420, FDD layer 416, or otherwise). Thecalculations made by AM&V layer 412 can be based on building systemenergy models and/or equipment models for individual BMS devices orsubsystems. For example, AM&V layer 412 can compare a model-predictedoutput with an actual output from building subsystems 428 to determinean accuracy of the model.

Fault detection and diagnostics (FDD) layer 416 can be configured toprovide on-going fault detection for building subsystems 428, buildingsubsystem devices (i.e., building equipment), and control algorithmsused by demand response layer 414 and integrated control layer 418. FDDlayer 416 can receive data inputs from integrated control layer 418,directly from one or more building subsystems or devices, or fromanother data source. FDD layer 416 can automatically diagnose andrespond to detected faults. The responses to detected or diagnosedfaults can include providing an alert message to a user, a maintenancescheduling system, or a control algorithm configured to attempt torepair the fault or to work-around the fault.

FDD layer 416 can be configured to output a specific identification ofthe faulty component or cause of the fault (e.g., loose damper linkage)using detailed subsystem inputs available at building subsystemintegration layer 420. In other example embodiments, FDD layer 416 isconfigured to provide “fault” events to integrated control layer 418which executes control strategies and policies in response to thereceived fault events. According to an example embodiment, FDD layer 416(or a policy executed by an integrated control engine or business rulesengine) can shut-down systems or direct control activities around faultydevices or systems to reduce energy waste, extend equipment life, orassure proper control response.

FDD layer 416 can be configured to store or access a variety ofdifferent system data stores (or data points for live data). FDD layer416 can use some content of the data stores to identify faults at theequipment level (e.g., specific chiller, specific AHU, specific terminalunit, etc.) and other content to identify faults at component orsubsystem levels. For example, building subsystems 428 can generatetemporal (i.e., time-series) data indicating the performance of BMS 400and the various components thereof. The data generated by buildingsubsystems 428 can include measured or calculated values that exhibitstatistical characteristics and provide information about how thecorresponding system or process (e.g., a temperature control process, aflow control process, etc.) is performing in terms of error from itssetpoint. These processes can be examined by FDD layer 416 to exposewhen the system begins to degrade in performance and alert a user torepair the fault before it becomes more severe.

Global Search and Control System

According to the exemplary embodiment shown in FIG. 5 , a search andcontrol system, shown as global search and control system 500, isconfigured to communicate with a building network 530. Building network530 may include BMS 400 (e.g., BMS controller 366, building subspaces428, etc.) and/or any items (e.g., spaces, equipment, objects, points,etc.) of a building that global search and control system 500 isassociated with. Global search and control system 500 may be configuredto provide various reporting capabilities regarding the items and/orfacilitate providing commands (e.g., bulk commands, individual commands,etc.) to one or more of the items (e.g., spaces, equipment, objects,points, etc.) connected therewith.

As shown in FIG. 5 , global search and control system 500 includes acommunications interface 502 and processing circuit 504 having aprocessor 506 and a memory 508. Processing circuit 504 can becommunicably connected to communications interface 502 such thatprocessing circuit 504 and the various components thereof can send andreceive data via communications interface 502 (e.g., to/from buildingnetwork 530, etc.). Processor 506 can be implemented as a generalpurpose processor, an application specific integrated circuit (ASIC),one or more field programmable gate arrays (FPGAs), a group ofprocessing components, or other suitable electronic processingcomponents.

Memory 508 (e.g., memory, memory unit, storage device, etc.) can includeone or more devices (e.g., RAM, ROM, Flash memory, hard disk storage,etc.) for storing data and/or computer code for completing orfacilitating the various processes, layers and modules described in thepresent application. Memory 508 can be or include volatile memory ornon-volatile memory. Memory 508 can include database components, objectcode components, script components, or any other type of informationstructure for supporting the various activities and informationstructures described in the present application. According to an exampleembodiment, memory 508 is communicably connected to processor 506 viaprocessing circuit 504 and includes computer code for executing (e.g.,by processing circuit 504 and/or processor 506) one or more processesdescribed herein. In some embodiments, global search and control system500 is implemented within a single computer (e.g., one server, onehousing, etc.). In various other embodiments, global search and controlsystem 500 can be distributed across multiple servers or computers(e.g., that can exist in distributed locations).

Still referring to FIG. 5 , memory 508 is shown to include a data module510, a search module 512, a command module 514, a modification module516, and a report module 518. Modules 510-518 can be configured toreceive inputs from and/or send outputs to building network 530 (e.g.,building subsystems 428, BMS controller 366, etc.), a user input/output(I/O) device 540, and other data sources and provide searching,reporting, and/or command capabilities. The following paragraphsdescribe some of the general functions performed by each module 510-518of global search and control system 500.

Data module 510 may be configured to receive and/or store various dataregarding components of the building network 530. By way of example,data module may 510 have access to information regarding spaces,equipment, objects, items, points, etc. of building network 530 and theassociations therebetween. Data module 510 may receive the informationdirectly from the components of building subsystems 428 and/or BMScontroller 366.

Search module 512 may be configured to perform a search request of anoperator based on filter criteria inputted by the operator and/or anauthorization level of the operator. Search module 512 may perform thesearch by accessing the information received and/or stored by datamodule 510 and/or by communicating directly with building network 530 toreceive the requested information.

Referring to FIG. 6A-7 , search module 512 may provide a search GUI 600on user I/O device 540 having a filter section 602 and a results section700. Filter section 602 is configured to facilitate an operator withinputting the filter criteria for the search request. As shown in FIG. 6, filter section 602 of search GUI 600 includes various fillable,selectable, and/or drop-down dialog boxes and buttons such as a spaceand equipment box 610, an object type button 620, an equipmentdefinition button 630, a name box 640, a network items button 650, asearch button 660, and a filter button 670.

Space and equipment box 610 may facilitate an operator in entering aname of a space and/or a name of equipment that information/data isdesired (e.g., if known by the operator, etc.). Search module 512 may beconfigured to return information/data regarding all of the pointsassociated with the space and/or equipment. Object type button 620 mayfacilitate an operator in selecting one or more object types from aselectable drop down menu. The object types may be software objects thatrepresent devices or points. The object types may include analog,binary, engines, meter, field devices, alarm extensions, trendextensions, etc. Search module 512 may be configured to returninformation/data regarding the selected object type(s). Network itemsbutton 650 may facilitate an operator with selecting any items connectedto building network 530 from a building network tree. Search module 512may be configured to return information/data regarding the selecteditems form the building network tree.

Equipment definition button 630 may facilitate an operator in selectingone or more equipment definitions from a selectable drop down menu. Anequipment definition is an abstraction of a particular piece of buildingequipment or type of building equipment that defines the various pointstypically associated with equipment of that type. Each general type ofbuilding equipment (e.g., chiller, boiler, air handling unit (AHU),variable air volume (VAV) unit, fan coil unit, etc.) can be definedusing a different equipment definition specific to that type of buildingequipment. For example, a chiller equipment definition can be used todefine a chiller and may specify the various points typically associatedwith chillers, whereas an AHU equipment definition can be used to definean AHU and may specify the various points typically associated withAHUs. An equipment definition and the points associated therewith aregeneralized across models, manufacturers, vendors, or other differencesbetween building equipment of the same general type. In variousembodiments, an equipment definition can define a general type ofequipment, a specific piece of equipment, or a group of equipment.Additional details regarding equipment definitions and how equipmentdefinitions can be used by system 500 can be found in (i) U.S. Pat.Application No. 14/251,414, filed Apr. 11, 2014, (ii) U.S. Pat.Application No. 15/870,500, filed Jan. 12, 2018, and (iii) U.S. Pat.Application No. 16/100,962, filed Aug. 10, 2018, the entire disclosuresof which are incorporated by reference herein.

Each piece of equipment or group of equipment can be associated with(e.g., linked to) a particular equipment definition. Similarly, eachequipment definition can be associated with (e.g., linked to) one ormore pieces of equipment or groups of equipment. Search module 512 canbe configured to maintain a database of the various equipmentdefinitions and the pieces of equipment or groups of equipment linked toeach equipment definition. When one or more equipment definitions areselected using equipment definition button 630 and an operator clickssearch button 660, search module 512 may be configured to returninformation/data regarding all of the points associated with theselected equipment definition(s). For example, search module 512 mayidentify all of the pieces of equipment or groups of equipmentassociated with the selected equipment definition(s) and may return allof the points of the identified equipment as search results, along withthe information/data describing each point returned as a search result.Additional details regarding determining relationships betweenequipment, spaces, etc. can be found in U.S. Pat. Application No.16/406,994, filed May 8, 2019, the entire disclosure of which isincorporated by reference herein.

In some embodiments, each equipment definition defines one or morealiased points typically associated with equipment of a particular type.The aliased points may have names (e.g., short names, aliases, etc.)that designate a particular type of point. For example, an equipmentdefinition for an AHU may define a first aliased point named “OA-T” thatdesignates an outdoor air temperature point, a second aliased pointnamed “DA-T” that designates a discharge air temperature point, a thirdaliased point named “RA-T” that designates a return air temperaturepoint, etc. Each aliased point defined by an equipment definition mayhave a name or alias that identifies a particular type of point (e.g.,outdoor air temperature, discharge air temperature, etc.) in a generalmanner such that the same equipment definition can be applied to manydifferent pieces of equipment. Additionally, the aliased points can besearched, read, and written in a consistent manner by system 500 (or byexternal systems or applications) to facilitate monitoring and controlof such equipment via the aliased points.

Name box 640 may allow an operator to enter or select a specific pointname or alias. The point names or aliases entered or selected via namebox 640 may function as a filter or search parameter on the searchperformed by search module 512. For example, search module 512 may limitthe search results to points that have the specified names or aliases.In the embodiment shown in FIG. 6A, name box 640 requires the operatorto type the point name or alias into name box 640. In the embodimentshown in FIG. 6B, search GUI 600 is shown to include an equipmentdefinition dropdown menu 642 that displays all of the aliased points 648associated with the selected equipment definition(s). The operator canselect one or more of aliased points 648 via dropdown menu 642 such thatthe operator does not need to know the specific point name or alias whenspecifying point names or aliases via name box 640. Search module 512may be configured to return information/data regarding all of the pointsentered and/or selected via name box 640.

In some embodiments, dropdown menu 642 includes an equipment definitionselector 644 that allows the operator to specify one or more of theequipment definitions selected via equipment definition button 630(shown in FIG. 6B as “AHUs” and “Chiller Plant - 507 B4RF”). The aliasedpoints 648 displayed in dropdown menu 642 may be limited to only thealiased points associated with the equipment definition(s) specified viaequipment definition selector 644. In some embodiments, dropdown menu642 includes an aliased points search box 646 that allows the operatorto search aliased points 648 (e.g., for a specific point type, for pointnames having a specific text string, etc.). The aliased points 648displayed in dropdown menu 642 may be limited to only the aliased pointsthat match the search criteria entered via search box 646.

In some embodiments, search module 512 is configured to automaticallypopulate one or more of the fields or boxes in search GUI 600 with datapertaining to a user selected item. The automatic population can beinitiated from any of the user interfaces or widgets used to presentinformation to a user. For example, a user can view all of the equipmentserving a space and all the energy meters associated with a space via an“equipment serving space” (ESS) widget (e.g., VAV->AHU->Central Plants).When viewing the ESS widget, the user can select an item of equipment, ameter, or other data in the widget. In response to the user selecting anitem (and clicking a link to automatically populate search GUI 600),search module 512 can automatically populate data associated with theselected equipment, meter, or other data in advanced search GUI 600. Forexample, assume a user wants to generate a report for an entire buildingor floor. The user can simply select that building or floor via a filterand click an option (e.g., a link, a button, a drop-down menu, etc.) tocreate a report.

Advantageously, the automatic population feature may make the searchingand reporting features described herein more discoverable as the user isentrenched in daily operational workflows. By creating quick links topopulate search GUI 600, the user can take advantage of reports, bulkcommands, and modifications easily from any of the widgets used topresent information to a user without requiring all of the data to bemanually entered or selected via search GUI 600. This feature may reducetime searching for information and allows the user to quickly generate areport for a selected item (e.g., a space, a device of equipment, etc.).Reports can be created across a space (e.g., building, floor, campus,room, etc.) with minimal number of clicks.

Search button 660 may facilitate an operator with initiating a searchbased on the filter criteria entered by the operator via space andequipment box 610, object type button 620, equipment definition button630, name box 640, and/or network items button 650. Search module 512may be configured to perform the requested search to returninformation/data for one or more items based on the filter criteriaentered through filter section 602 of search GUI 600 and/or theauthorization level of the operator. By way of example, search module512 may only provide search results that are returned based on thefilter criteria that the operator has permission to access. For example,the authorization of the operator may be based on (i) spaceauthorization such that an operator without authorization to a spacedoes not receive search results related to equipment associated with thespace, (ii) equipment authorization such that an operator withauthorization to a space, but not some of the equipment within thespace, only receives search results for the equipment within the spacehe or she is authorized for, and/or (iii) object authorization such thatan operator with authorization to a space and equipment within thespace, but not some of the objects associated with the equipment, onlyreceives search results for the objects of the equipment within thespace he or she is authorized for. Search module 512 may therefore beconfigured to selectively pre-filter search results based on theauthorization or permission level of an operator such that results theoperator is not authorized to see are not returned to users without sucha permission or clearance level.

As shown in FIG. 7 , results section 700 of the search GUI 600 includesa header row 702 and results rows 704. Header row 702 includes aplurality of headers associated with a selection column 710, a namecolumn 720, an item reference column 730, a value column 740, a unitscolumn 750, a status column 760, and a space(s)/equipment column 770.Search module 512 is configured to return a set of search results havinga quantity of search results based on the filter criteria and/or theauthorization level of the operator for display in results rows 704including information associated with each of the headers of columns710-770. If search module 512 is unable to return any search resultsbased on the filter criteria and/or the authorization level of theoperator, search module 512 may be configured to display a notificationon search GUI 600 indicating that the filter criteria needs to berefined. The operator may then enter new or revised filter criteria viafilter section 602. When results are returned by search module 512,results rows 704 may be sorted by selecting one of the headers ofcolumns 710-770 (e.g., selecting the header of name column 720 will sortthe results rows alphabetically by name, etc.).

According to an exemplary embodiment, search module 512 is configureddynamically update the set of search results in results section 700based on the quantity of results rows 704. By way of example, searchmodule 512 may be configured to determine whether the quantity ofresults rows 704 is greater than a first threshold. In one embodiment,the first threshold is 200 results rows 704. In other embodiments, thefirst threshold is greater than or less than 200 results rows 704 (e.g.,100, 300, 500, 800, 1000, etc. results rows 704). Search module 512 maybe configured to dynamically update results rows 704 in real time withinthe results section 700 in response to the quantity of results rows 704being less than the first threshold. Search module 512 may be configuredto determine whether the quantity of results rows 704 is greater than asecond threshold in response to the quantity of results rows 704 beinggreater than the first threshold. In one embodiment, the secondthreshold is 1000 results rows 704. In other embodiments, the secondthreshold is greater than or less than 1000 results rows 704 (e.g., 500,750, 800, 1200, 2000, 3000, etc. results rows 704). Search module 512may be configured to display a notification in search GUI 600 indicatingresults rows 704 are not being dynamically updated in response to thequantity of results rows 704 being greater than the first threshold, butless than the second threshold. Search module 512 may be configured todisplay a notification in search GUI 600 indicating that the quantity ofresults rows 704 exceeds a maximum number of search results and that thefilter criteria needs to be refined in response to the quantity ofresults rows 704 being greater than the second threshold. The operatormay then enter new or revised filter criteria via filter section 602.

As shown in FIG. 7 , selection column 710 includes a plurality ofselectable boxes 712. The plurality of selectable boxes 712 mayfacilitate an operator with selecting specific rows of items presentedwithin results section 700. Name column 720 provides the names of eachitem presented within results section 700. As shown in FIG. 7 , itemreference column 730 includes a selectable link 732 for each of theitems presented in the results section 700. According to an exemplaryembodiment, each selectable link 732 of item reference column 730 isassociated with a network page for a respective item presented inresults section 700. Search module 512 may thereby be configured toredirect an operator from search GUI 600 to the network page of an item(e.g., containing various information regarding the item, etc.)associated with a respective selectable link 732 in response to theselection of the respective selectable link 732.

As shown in FIG. 7 , value column 740 includes a selectable link 742 foreach of the items presented in the results section 700. According to anexemplary embodiment, each selectable link 742 of value column 740provides (e.g., displays, etc.) the current set point or mode theassociated item is operating at or in. By way of example, the currentset point or mode may include active, inactive, unknown, a current setpoint value (e.g., a speed set point value, a temperature set pointvalue, a pressure set point value, etc.), and the like. Command module514 may be configured to provide a single command modal window oversearch GUI 600 in response to a selection of a respective selectablelink 742 by an operator from search GUI 600. The operator may thereby beable to provide a single command to the item associated with therespective selectable link 742 to change the current set point or modeof operation of the item. As shown in FIG. 7 , the status column 760displays the current status for each items presented in the resultssection. The current status may include normal, online, offline,standby, derate, fault, etc.

As shown in FIG. 7 , space(s)/equipment column 770 includes a selectablelink 772 for each of the items presented in the results section 700.According to an exemplary embodiment, each selectable link 772 ofspace(s)/equipment column 770 is associated with a space or equipmentpage for each of the spaces and/or equipment the respective item isassociated with. Selectable links 772 may be associated with multiplespaces and/or equipment for a respective item. By way of example, when aselectable link 772 is associated with more than one space and/orequipment (e.g., two, three, four, etc.), search module 512 may beconfigured display a pop-up window with direct links to each of thespaces and/or equipment pages associated with the respective item inresponse to an operator hovering over or selecting the associatedselectable link 772. If only one space or equipment is associated withthe respective item, the associated selectable link 772 may be a directlink to the associated space page or equipment page.

As shown in FIG. 6A-8 , filter section 602 of search GUI 600 includes afilter button 670 and an actions button 680. According to an exemplaryembodiment, the filter button 670 facilitates expanding filter section602 (e.g., as shown in FIGS. 6A-6B, etc.) and retracting filter section602 (e.g., as shown in FIG. 7 , etc.). As shown in FIG. 8 , selectingactions button 680 causes a drop down menu to be provided including abulk command button 682 and a create report button 684. According to anexemplary embodiment, a bulk command may be provided to a plurality(e.g., two or more, etc.) of the items of result rows 704 via bulkcommand button 682 and/or a report may be generated for a plurality ofthe items of result rows 704 via create report button 684.

Command module 514 may be configured to provide a command to one or moreitems returned by search module 512 within results section 700 based onvarious user inputs. By way of example, command module 514 may beconfigured to provide a command to a single item based on an operatorselecting a respective selectable link 742 of value column 740, asdescribed above. By way of another example, command module 514 may beconfigured to provide a bulk command to one or more items returned bysearch module 512 within results section 700 based on an operatorselecting one or more of results rows 704 and bulk command button 682.Referring now to FIG. 9 , command module 514 may provide a bulk commandmodal window 800 (e.g., over search GUI 600, etc.) in response to anoperator selecting bulk command button 682. Bulk command modal window800 is configured to facilitate an operator with inputting commandcriteria for a bulk command to be provided to one or more of the itemsassociated with the selected results rows 704.

As shown in FIG. 9 , command module 514 is configured to provide acommand interface 810 on bulk command modal window 800. The commandinterface 810 includes various fillable, selectable, and/or drop-downdialog boxes and buttons such as a command button 812, a value button814, and an expiration section 816. The command button 812 mayfacilitate the operator with inputting and/or selecting an availablecommand (e.g., command capable of being provided to the selected items,etc.) to provide to one or more of the items associated with theselected results rows 704. The value button 814 may facilitate theoperator with providing a value (e.g., active, inactive, an operatingparameter, etc.) for the command to one or more of the items associatedwith the selected results rows 704. The expiration section 816 mayfacilitate the operator with providing a duration for the command toremain in effect before expiring.

Command module 514 is configured receive command criteria (e.g., viacommand button 812, value button 814, expiration section 816, etc.)regarding a bulk command to provide to the one or more items of theselected results rows 704 that are capable of receiving the chosen bulkcommand. According to an exemplary embodiment, command module 514 has asmart command/detect capability such that command module 514 may detectand identify whether a bulk command can be provided to each of the itemsassociated with the selected results rows 704. By way of example,command module 514 may be configured to recognize class IDs for each ofthe items of the selected results rows 704 and determine whether thechosen bulk command can be applied to each of the class IDs present inthe selected results rows 704. For example, a certain type of commandmay not be compatible with one or more class IDs. Command module 514 maytherefore be configured to return a notification indicating that thechosen bulk command cannot be completed for all of the selected resultsrows 704 in response to the chosen bulk command not being capable ofbeing applied to all of the represented class IDs.

After receiving the command criteria and the operator pressing nextbutton 822, command module 514 may be configured to provide a previewinterface 830 on bulk command modal window 800. Preview interface 830may provide an indication of the number of items the bulk command willaffect (e.g., the items with class IDs compatible with the bulk command,etc.), the command being provided, a table showing the items that willbe affected (e.g., object, name, item reference, present value, etc.),etc. Command module 514 may be configured to receive an indication fromthe operator to proceed with the bulk command (e.g., a next button onthe preview interface 830, etc.). Command module 514 may then providethe bulk command to the compatible items associated with the selectedresults rows 704.

Command module 514 may be further configured to provide a confirmationinterface 850 on bulk command modal window 800 in response to the bulkcommand being provided to the items associated with the selected resultsrows 704. Confirmation interface 850 may provide various informationsuch as the number of items the bulk command affected, the command thatwas provided, a table showing successful commands and failed commands,etc. The successful command may be grouped together and the failedcommands may be grouped together separately. By way of example, aplurality of air handling units (e.g., two, three, etc.) may have beenprovided a bulk command by command module 514. Confirmation interface850 may provide information regarding the value prior to the bulkcommand (e.g., inactive, etc.), the command that was provided thereto(e.g., operator override, etc.), the value of the command (e.g., active,etc.), and an indication of which of the plurality of air handling unitswere successfully commanded and which failed.

Modification module 516 may be configured to facilitate modifying aplurality of points (e.g., one, two, five, ten, one hundred, etc.)returned by search module 512 within results section 700 based onvarious user inputs simultaneously. By way of example, modificationmodule 516 may be configured to facilitate changing alarm limits acrosshundreds of points simultaneously. Referring now to FIG. 17 ,modification module 516 may provide a bulk modify modal window 1000(e.g., over search GUI 600, in response to an operator selecting a bulkmodify button, etc.). Bulk modify modal window 1000 is configured tofacilitate an operator with inputting modification criteria for a bulkmodification to be provided to one or more of the items associated withthe selected results rows 704.

As shown in FIG. 17 , modification module 516 is configured to provide amodification interface 1010 on bulk modify modal window 1000. Themodification interface 1010 includes an attribute column 1012identifying various attributes of the selected items, a value column1014 including fillable, selectable, and/or drop-down dialog boxes andbuttons that facilitate inputting a value for the attributes inattribute column 1012 that an operator would like to modify, and a unitscolumn 1016 identifying the units for the value of the attributes in thevalue column 1014. The attributes in the attribute column 1012 mayinclude a name, an alarm value, a differential value, a high alarmlimit, a high warning offset, a low alarm limit, a low warning offset,alarm setup attributes including whether alarm acknowledgment isrequired, alarm message text, and alarm priority, and/or still otherattributes.

Modification module 516 is configured receive modification criteria(e.g., via value column 1014, etc.) regarding at least one attribute ofthe one or more items associated with the selected results rows 704 tobe modified. After receiving the modification criteria and the operatorpressing next button 1022, modification module 516 may be configured toprovide a preview interface 1030 on bulk modify modal window 1000.Preview interface 1030 may provide an indication of the number of itemsthe bulk modification will affect, the attributes being modified, theold value and/or the new value of the attributes being modified, etc.Modification module 516 may be configured to receive an indication fromthe operator to proceed with the bulk modification (e.g., a next buttonon the preview interface 1030, etc.). Modification module 516 may thenperform a modification on the at least one attribute of the one or moreitems associated with the selected results rows 704. The modificationmay cause the at least one attribute of the one or more items to updateto the new value.

Modification module 516 may be further configured to provide aconfirmation interface 1050 on bulk modify modal window 100 in responseto the bulk modification being provided to the items associated with theselected results rows 704. Confirmation interface 1050 may providevarious information such as the number of items the bulk modificationaffected, the attributes that were modified, a table showing successfulmodifications and failed modifications, etc. The successfulmodifications may be grouped together and the failed modifications maybe grouped together separately.

Report module 518 may be configured to generate a report for one or moreitems returned by search module 512 within results section 700 based onvarious user inputs. Referring now to FIG. 10 , report module 518 mayprovide a report modal window 900 (e.g., over search GUI 600, etc.) inresponse to an operator selecting create report button 684. Report modalwindow 900 is configured to facilitate an operator with inputting reportcriteria for a report to be generated regarding one or more of the itemsassociated with the selected results rows 704.

As shown in FIG. 10 , report modal window 900 includes various fillable,selectable, and/or drop-down dialog boxes and buttons such as a startdate and time box 910, an end date and time box 920, a report type box930, and an export type box 940. The start date and time box 910 mayfacilitate the operator with inputting a start date and/or a start timeat which report module 518 should gather data from (e.g., from the datamodule 510, etc.) for the requested report. The end date and time box920 may facilitate the operator with inputting an end date and/or an endtime at which report module 518 should gather data up to (e.g., from thedata module 510, etc.) for the requested report. The report type box 930may facilitate the operator with selecting a type of report that isdesired from a drop-down menu. The type of report may include anactivity report, an alarm report, an audit report, and/or a trendreport. The export type box 940 may facilitate the operator withselecting a type of export file that is desired for the report from adrop-down menu. The type of export file may include a csv file, a pdffile, an excel file, a text file, and/or still another type of suitablefile format.

The activity report may present activity information regarding alarmsand audits for items selected from results section 700 of search GUI 600within the selected time frame provided through start date and time box910 and end date and time box 920. The alarm report may present alarminformation regarding alarms for items selected from results section 700of search GUI 600 within the selected time frame provided through startdate and time box 910 and end date and time box 920. The audit reportmay present audit information for items selected from results section700 of search GUI 600 within the selected time frame provided throughstart date and time box 910 and end date and time box 920. The trendreport may present trend information including time series data for theselected items.

According to an exemplary embodiment, report module 518 is configured toselect a specific granularity to present the data for the selected itemsbased on the selected time frame. The time series data may thereby bepresented in various different levels of granularity based on theduration of time selected via start date and time box 910 and end dateand time box 920. By way of example, if the duration of time is lessthan a first threshold (e.g., seven days or less, etc.), report module518 may be configured to display raw data. By way of another example, ifthe duration of time is greater than the first threshold, but less thana second threshold (e.g., fifty days or less, etc.), report module 518may be configured to display data that is aggregated on a daily basis.By way of yet another example, if the duration of time is greater thanthe second threshold (e.g., more than fifty days, etc.), report module518 may be configured to display data that is aggregated on a monthlybasis.

In some embodiments, report module 518 is configured to aggregate datain a report according to the equipment associated with the data. Forexample, report module 518 can aggregate multiple alarms for a singledevice or group multiple alarms for a single device to be shown adjacentto each other in the report. Similarly, report module 518 can aggregateor group audits in an audit report and/or trends in a trend report bythe corresponding device or devices of equipment.

Report module 518 may thereby be configured to generate a report basedon the report criteria received via start date and time box 910, enddate and time box 920, report type box 930, and export type box 940 inresponse to an operator selecting the create report button 684. In someembodiments, report module 518 facilitates downloading the generatedreport onto an end user device (e.g., laptop, computer, tablet,smartphone, etc.) in the format chosen in export type box 940. Thereport may thereafter be saved, viewed, manipulated, printed, etc. onthe end user device. In some embodiments, report module 518 isconfigured to facilitate saving the report for future use.

In some embodiments, report module 518 is configured to facilitatescheduling a report for future generation (e.g., periodic reportgeneration, etc.). Referring now to FIG. 18 , report module 518 mayprovide a report editor window 960. Report editor window 960 isconfigured to facilitate an operator with setting up and scheduling areport for future and/or periodic generation. As shown in FIG. 18 ,report editor window 960 includes a report type box 962, a date rangebox 964, a format box 966, a scheduling box 968, a report name box 970,a run report on box 972, a stop running box 974, and a send to box 976.The report type box 962 may facilitate the operator with selecting atype of report that is desired from a drop-down menu (e.g., an activityreport, an alarm report, an audit report, a trend report, etc.). Thedate range box 964 may facilitate the operator with selecting a daterange for which data for the report should be gathered (e.g., prior day,prior week, prior month, prior quarter, prior year, all history, etc.).The format box 966 may facilitate the operator with selecting a formattype of export file that is desired for the report from a drop-down menu(e.g., a csv file, a pdf file, an excel file, a text file, etc.). Thescheduling box 968 may facilitate an operator in scheduling the reportto be generated on a periodic basis (e.g., weekly, bi-weekly, monthly,quarterly, etc.) from a drop-down menu. The report name box 970 mayfacilitate an operator in providing a name for the report such that thereport may be easily identifiable. The run report on box 972 mayfacilitate an operator is selecting on which day of the week and/or timethe report is to be generated. The stop running box 974 may facilitatean operator in identifying how many times the report should beautomatically generated (e.g., once, twice, ten times, infinite, etc.)and/or a future date on which the automatic generation should stop(e.g., Sep. 1, 2020; Dec. 31, 2017; etc.). The send to box 976 mayfacilitate an operator in identifying who the automatically generatedfuture report(s) should be sent to (e.g., via email, etc.). A savebutton 978 may facilitate an operator in saving the parameters definedvia boxes 962-976 for the future report generation.

As an example, global search and control system 500 may be implementedin a hospital. An operator may be able to search by spaces and/orequipment (e.g., via space and equipment box 610 of search GUI 600,etc.) for an emergency room within the hospital. The operator mayfurther narrow the search to find pressure and temperature measurementswithin the emergency room over time. Such narrowing may be completed byselecting a pressure monitor and/or temperature sensor from within thedrop down menu presented when selecting equipment definition button 630,entering the name(s) thereof into name box 640, and/or selecting thecorresponding devices from the building network tree presented whenselecting network items button 650. The operator may then proceed togenerate a trend report for the pressures and/or temperatures within theemergency room for a given time period by selecting the create reportbutton 684 and filling report criteria into report modal window 900.Global search and control system 500 therefore provides users with thecapability of generating reports for any items connected to buildingnetwork 530 (e.g., any buildings, spaces, systems, equipment, devices,points, etc. connected to the building network 530 within a few steps).

As another example, global search and control system 500 may facilitatevalidating changes to equipment connected to building network 530. Byway of example, an operator may select a building (e.g., via space andequipment box 610 of search GUI 600, etc.). Thereafter, the operator mayselect all air handling units (e.g., via equipment definition button630, etc.) and search set points for the air handling units. Globalsearch and control system 500 may return all the set points for all theair handling units of the selected building. Thereafter, the operatorcan bulk select any number of the set points and have an activity/auditreport generated by selecting the create report button 684 and fillingreport criteria into report modal window 900. The activity/audit reportmay provide information such as who has made changes to the set pointsof the air handling units over time.

Referring to FIG. 11 , a method 1100 for performing a global search isshown according to an exemplary embodiment. According to an exemplaryembodiment, method 1100 is performed by global search and control system500. Method 1100 may therefore be described in regards to global searchand control system 500. At step 1102, a search system (e.g., globalsearch and control system 500, etc.) is configured to receive a searchrequest from an operator (e.g., while on a site management portal, etc.)via a user device (e.g., user I/O device 540, etc.). At step 1104, thesearch system is configured to display a GUI (e.g., search GUI 600,etc.) having a filter area (e.g., filter section 602, etc.) and aresults area (e.g., the results section 700, etc.). At step 1106, thesearch system is configured to receive filter criteria from theoperator. The filter criteria may include space information, equipmentinformation, an object type, an equipment definition, a point name, anetwork item, etc.

At step 1108, the search system is configured to perform a search basedon the filter criteria and/or an authorization level of the operator. Byway of example, the search system may only return search results thatthe operator has permission to access. For example, the authorization ofthe operator may be based on (i) space authorization such that anoperator without authorization to a space does not receive searchresults related to equipment associated with the space, (ii) equipmentauthorization such that an operator with authorization to a space, butnot some of the equipment within the space, only receives search resultsfor the equipment within the space he or she is authorized for, and/or(iii) object authorization such that an operator with authorization to aspace and equipment within the space, but not some of the objectsassociated with the equipment, only receives search results for theobjects of the equipment within the space he or she is authorized for.The search system may therefore be configured to selectively pre-filtersearch results based on the authorization or permission level of anoperator such that results the operator is not authorized to see are notreturned to users without such a permission or clearance level.

At step 1110, the search system is configured to return a set of searchresults having a quantity of search results based on the filter criteriaand/or the authorization level of the operator. At step 1112, the searchsystem is configured to determine whether there are any search resultsbased on the filter criteria and/or the authorization level of theoperator. If there are no search results, the search system isconfigured to display a notification indicating that the filter criterianeeds to be refined (step 1114). The operator may then enter new orrevised filter criteria and the search system may repeat steps1106-1112.

At step 1116, the search system is configured to determine whether thequantity of search results is greater than a first threshold (e.g., 200,300, 500, 800, 1000, etc. search results) in response to there being atleast one result. At step 1118, the search system is configured todisplay the search results in the results area and dynamically updatethe search results in real time in response to the quantity of searchresults being less than the first threshold. At step 1120, the searchsystem is configured to determine whether the quantity of search resultsis greater than a second threshold (e.g., 500, 750, 800, 1000, 1200,2000, 3000, etc. search results) in response to the quantity of searchresults being greater than the first threshold. At step 1122, the searchsystem is configured to display the search results in the results areaand display a notification indicating the search results are not beingdynamically updated in response to the quantity of search results beinggreater than the first threshold, but less than the second threshold. Atstep 1124, the search system is configured to display a notificationindicating that the quantity of search results exceeds a maximum numberof search results and that the filter criteria needs to be refined inresponse to the quantity of search results being greater than the secondthreshold. The operator may then enter new or revised filter criteriaand the search system may repeat steps 1106-1124, as necessary.

Referring to FIG. 12 , a method 1200 for performing a single command onan item from global search results is shown according to an exemplaryembodiment. According to an exemplary embodiment, method 1200 is anextension of method 1100. By way of example, the operator may provide acommand to an item of the search results displayed by the search system(e.g., after step 1118, step 1122, etc.). At step 1202, the searchsystem is configured to receive a selection of a link in a value column(e.g., value column 740, etc.) for a single item of the search resultsin the results area. At step 1204, the search system is configured toprovide a single command dialog box (e.g., in the same window as searchGUI 600, etc.). At step 1206, the search system is configured to receivea command for the single item from the operator via the command dialogbox. At step 1208, the search system is configured to implement thecommand on the single item.

Referring to FIG. 13 , a method 1300 for viewing a network pageassociated with an item from global search results is shown according toan exemplary embodiment. According to an exemplary embodiment, method1300 is an extension of method 1100. By way of example, the operator mayview the network page of an item in the search results displayed by thesearch system (e.g., after step 1118, step 1122, etc.). At step 1302,the search system is configured to receive a selection of a link in anitem reference column (e.g., item reference column 730, etc.) for asingle item of the search results in the results area. At step 1304, thesearch system is configured to provide a navigate away messageindicating that the search system has to navigate away from the currentinterface (e.g., search GUI 600, etc.) to display the network pageassociated with the selected link in the item reference column. At step1306, the search system is configured to receive a request to navigateaway (e.g., from search GUI 600, etc.). In some embodiments, the searchsystem does not complete step 1304 and/or step 1306 (e.g., the operatorhas previously selected to not receive the navigate away message, etc.).At step 1308, the search system is configured to navigate to acorresponding network page associated with the single item.

Referring to FIG. 14 , a method 1400 for viewing a space or equipmentpage associated with an item from global search results is shownaccording to an exemplary embodiment. According to an exemplaryembodiment, method 1400 is an extension of method 1100. By way ofexample, the operator may view the space and/or equipment page of anitem in the search results displayed by the search system (e.g., afterstep 1118, step 1122, etc.). At step 1402, the search system isconfigured to receive a selection of a link in a space/equipment column(e.g., space/equipment column 770, etc.) for a single item of the searchresults in the results area. At step 1404, the search system isconfigured to provide a navigate away message indicating that the searchsystem has to navigate away from the current interface (e.g., search GUI600, etc.) to display the space and/or equipment page associated withthe selected link in the space/equipment column. At step 1406, thesearch system is configured to receive a request to navigate away (e.g.,from search GUI 600, etc.). In some embodiments, the search system doesnot complete step 1404 and/or step 1406 (e.g., the operator haspreviously selected to not receive the navigate away message, etc.). Atstep 1408, the search system is configured to navigate to acorresponding space or equipment page associated with the single item.

Referring to FIG. 15 , a method 1500 for generating a report based onglobal search results is shown according to an exemplary embodiment.According to an exemplary embodiment, method 1500 is an extension ofmethod 1100. By way of example, the operator may generate a report fromthe search results displayed by the search system (e.g., after step1118, step 1122, etc.). At step 1502, the search system is configured toreceive a selection of one or more rows from the search results in theresults area. At step 1504, the search system is configured to receive aselection of an “actions” button (e.g., actions button 680, etc.) in thefilter area which causes the search system to display an actionsdrop-down menu. At step 1506, the search system is configured to receivea selection of a “create report” button (e.g., create report button 684,etc.) in the actions drop-down menu.

At step 1508, the search system is configured to provide a “reportcreator” modal window (e.g., report modal window 900, etc.) over thesearch results (e.g., in the same window as search GUI 600, etc.). Thereport creator modal window may include various fillable, selectable,and/or drop-down dialog boxes that are configured to receive variousinformation or parameters used for generating a desired report. Thedialog boxes may include a start date and time box (e.g., start date andtime box 910, etc.), an end date and time box (e.g., end data and timebox 920, etc.), a report type box (e.g., report type box 930, etc.),and/or an export type box (e.g., export type box 940, etc.). The startdate and time box may facilitate the operator with inputting a startdate and/or a start time at which data for the report should be gatherfrom. The end date and time box may facilitate the operator withinputting an end date and/or an end time at which data for the reportshould be gather up to. The report type box may facilitate the operatorwith selecting a type of report that is desired from a drop-down menu.The type of report may include an activity report (e.g., alarms andaudits for items selected in the advanced search and selected timeframe, etc.), an alarm report, an audit report, and/or a trend report.The export type box may facilitate the operator with selecting a type ofexport file that is desired for the report from a drop-down menu. Thetype of export file may include a csv file, a pdf file, an excel file, atext file, and/or still another type of suitable file format.

At step 1510, the search system is configured to receive report criteriaincluding at least one of (i) a start date and/or time (e.g., via startdate and time box 910, etc.), (ii) an end date and/or time (e.g., viaend date and time box 920, etc.), (iii) a report type (e.g., via reporttype box 930, etc.), and/or an export type (e.g., via export type box940, etc.) from the operator. At step 1512, the search system isconfigured to generate a report to be downloaded onto the user device ofthe operator based on (i) the start date and time, (ii) the end date andtime, (iii) the report type, (iv) the export type, and/or (v) the one ormore selected rows. At step 1514, the search system is configured toreceive a request to export and download the report in the selectedexport type onto the user device. The report may thereafter be saved,viewed, manipulated, printed, etc. via the user device. In someembodiments, the search system is configured to facilitate saving thereport for future use. In some embodiments, the search system isconfigured to facilitate scheduling a report for future generation(e.g., periodic report generation, etc.).

Referring to FIG. 16 , a method 1600 for performing a bulk commandprocess on a plurality of items from global search results is shownaccording to an exemplary embodiment. According to an exemplaryembodiment, method 1600 is an extension of method 1100. By way ofexample, the operator may provide a bulk command to a plurality of thesearch results displayed by the search system (e.g., after step 1118,step 1122, etc.). At step 1602, the search system is configured toreceive a selection of a plurality of rows from the search results inthe results area. At step 1604, the search system is configured toreceive a selection of an “actions” button (e.g., actions button 680,etc.) in the filter area which causes the search system to display anactions drop-down menu. At step 1606, the search system is configured toreceive a selection of a “bulk command” button (e.g., bulk commandbutton 682, etc.) in the actions drop-down menu.

At step 1608, the search system is configured to provide a “bulkcommand” modal window (e.g., bulk command modal window 800, etc.) overthe search results (e.g., in the same window as search GUI 600, etc.).The bulk command modal window may provide various interfaces thatinclude fillable, selectable, and/or drop-down dialog boxes that areconfigured to receive various information or parameters used forproviding a command to each of the items associated with the pluralityof selected rows.

At step 1610, the search system is configured to determine whether abulk command process is capable of being applied to one or more of theitems associated with the plurality of selected rows. At step 1612, thesearch system is configured to display a notification indicating thatthe bulk command process cannot be completed for the selected rowswithin the bulk command modal window in response to determining that thebulk command process cannot be applied to one or more of the itemsassociated with the plurality of selected rows. At step 1614, the searchsystem is configured to provide a command interface (e.g., commandinterface 810, etc.) on the bulk command modal window in response todetermining that the bulk command process can be applied to one or moreof the items associated with the plurality of selected rows. The commandinterface may include a command button (e.g., command button 812, etc.),a value button (e.g., value button 814, etc.), and an expiration section(e.g., expiration section 816, etc.). The command button may facilitatethe operator with inputting and/or selecting an available command (e.g.,common commands provided to the selected items, etc.) to provide to oneor more of the items associated with the plurality of selected rows. Thevalue button may facilitate the operator with providing a value (e.g.,active, inactive, an operating parameter, etc.) for the command to oneor more of the items associated with the plurality of selected rows. Theexpiration section may facilitate the operator with providing a durationfor the command to remain in effect before expiring.

At step 1616, the search system is configured to receive commandcriteria (e.g., via the command box, the value box, the expirationsection, etc.) regarding a bulk command to provide to the one or moreitems. In some embodiments, the search system is configured to proceedto steps 1618-1622. In some embodiments, the search system is configuredto proceed to step 1624. At step 1618, the search system is configuredto provide a type interface on the bulk command modal window in responseto determining the plurality of selected rows are associated withdifferent types of items. The type interface may provide an indicationof the different types of items and what can be performed dependent uponthe type of item. At step 1620, the search system is configured toreceive type criteria from the operator (e.g., a selection of at leastone of the types provided, etc.). At step 1622, the search system isconfigured to determine which of the items the bulk command can beapplied to based on the type criteria.

At step 1624, the search system is configured to provide a previewinterface (e.g., preview interface 830, etc.) on the bulk command modalwindow. The preview interface may provide an indication of the number ofitems the bulk command will affect, the command being provided, the type(if applicable), a table showing the items that will be affected (e.g.,object, name, item reference, present value, etc.), etc. At step 1626,the search system is configured to receive an indication from theoperator to proceed with the bulk command. At step 1628, the searchsystem is configured to provide the bulk command to the items associatedwith the plurality of selected rows. At step 1630, the search system isconfigured to provide a confirmation interface (e.g., confirmationinterface 850, etc.) on the bulk command modal window. The confirmationinterface may provide the number of items the bulk command affected, thecommand that was provided, a table showing successful commands andfailed commands, etc.

Global Search and Control Processes

Referring now to FIG. 19 , a flowchart of a process 1900 for searchingusing aliased points and equipment definitions is shown, according to anexemplary embodiment. In some embodiments, process 1900 is performed byone or more components of global search and control system 500. Forexample, process 1900 can be performed by search module 512 and/orreport module 518 as described with reference to FIGS. 5-18 . In someembodiments, process 1900 is performed in response to a user submittinga query via search GUI 600. In other embodiments, process 1900 can betriggered by an automated process or algorithm to identify and/orcommand relevant points and/or equipment (described in greater detailwith reference to FIGS. 20-21 ).

Process 1900 is shown to include receiving a query specifying anequipment type, a location, and/or a point type (step 1902). In someembodiments, the query is submitted by a user via search GUI 600. Theuser can specify an equipment type or location via space and equipmentbox 610, or can select an equipment model associated with a particulartype of equipment via equipment definition button 630. The user canspecify a point type by selecting one or more of aliased points 648displayed in dropdown menu 642 or by selecting a particular type ofpoint object via object type button 620. For example, suppose the userwants to see all of the zone temperature setpoints for any variable airvolume (VAV) unit that serves Floor A. The user can interact with searchGUI 600 to specify the equipment type “VAV,” the location “Floor A,” andthe point type “ZNT-SP.” In various other embodiments, the queryparameters (i.e., equipment type, location, and/or point type) can bespecified using any other type of input. For example, the queryparameters can be specified by an automated process or algorithm andprovided as an input to process 1900.

Process 1900 is shown to include identifying 1 to N equipment servingthe specified location (step 1904). The equipment identified in step1904 may include any type of equipment that directly or indirectlyserves the location specified in step 1902. For example, if the locationis specified as Floor A, step 1904 may include identifying any equipmentthat monitors, controls, affects, or otherwise interacts with Floor A.The equipment may include VAV units that regulate airflow to Floor A,AHUs that provide airflow into Floor A, chillers or boilers that providea heated or chilled fluid for use in heating or cooling Floor A, sensorsthat measure the temperature, pressure, or other environmental conditionof Floor A, or any other type of equipment that interacts with Floor Aeither directly or indirectly. In some embodiments, step 1904 includesidentifying the equipment models for all equipment and reading a“Spaces/Equipment” attribute of each equipment model to determine whichof the equipment serves the specified location.

Process 1900 is shown to include sub-filtering the identified equipmentby the specified equipment type (step 1906). Step 1906 may includefiltering the set of equipment identified in step 1904 to include onlyequipment having the equipment type specified in step 1902. For example,if the equipment type specified in step 1902 is “VAV,” step 1906 mayinclude filtering the set of equipment identified in step 1904 toinclude only VAVs. Accordingly, any equipment having an equipment typenot matching the specified equipment type may be removed or filteredfrom the set of equipment identified in step 1904. In some embodiments,step 1906 includes identifying the equipment models for all equipmentidentified in step 1904 and reading a “Type” attribute of each equipmentmodel to determine which of the equipment have the specified equipmenttype.

Process 1900 is shown to include using equipment serving relationshipsto recursively identify all equipment serving the specified location orchild spaces of the specified location (step 1908). Step 1908 mayinclude identifying any child locations contained within the specifiedlocation. For example, if the specified location is “Floor A,” step 1908may include identifying any zones, rooms, or other spaces located onFloor A. In some embodiments, each space within a building isrepresented by a data object that contains various attributes (e.g.,“contains,” “contained by,” etc.). The data object that represents FloorA may have a “contains” attribute which identifies any child spaceslocated within or on Floor A. Each of those child spaces may also have a“contains” attribute which identifies any smaller child spaces locatedwithin the corresponding larger child space (e.g., a room within aparticular zone). Step 1908 can be performed recursively to identify allof the child spaces located within the specified location at any levelof the space hierarchy (e.g., building, floor, zone, room, etc.). Oncethe set of spaces has been generated, step 1908 can filter the set ofequipment generated in step 1906 to include only the equipment thatserves the specified location (e.g., “Floor A”) or any of the childspaces within the specified location. For example, the set of VAVsgenerated in step 1906 can be filtered to include only the VAVs thatserve Floor A or any of the child spaces within Floor A.

Process 1900 is shown to include determining whether all equipment havebeen identified (step 1910). Step 1910 may include determining whetherany of the spaces identified in step 1908 have child spaces and whetherany of the equipment identified in step 1906 serves any of those childspaces. If any of the spaces identified in step 1908 have child spaces,step 1908 can be repeated for those child spaces. Steps 1908 and 1910can be repeated recursively until all child spaces within the specifiedlocation have been identified and all equipment (of the specified type)that serve the specified location or any space within the specifiedlocation have been identified. For example, if the specified location is“Floor A,” steps 1908 and 1910 can be performed once to identify all ofthe equipment that serve Floor A (e.g., have a “serves” attribute thatexplicitly identifies Floor A). If Floor A contains any child spaces(e.g., Zone X, Zone Y, and Zone Z), steps 1908 and 1910 can be repeatedto identify any equipment that serves the child spaces located withinFloor A. If any of those child spaces contain further child spaces(e.g., Zone X contains Room P and Room Q, Zone Y contains Room R, etc.),steps 1908 and 1910 can be repeated again until the identified childspaces contain no further child spaces. Once all equipment have beenidentified, process 1900 may proceed to step 1912.

Process 1900 is shown to include, for each equipment identified,reference the equipment definition point type attribute for theequipment to identify all points having the specified point type (step1912). Step 1912 may include identifying the equipment model for eachequipment identified in steps 1908 and 1910. Each equipment model mayspecify a set of points having various point types. Step 1912 mayinclude searching the point types specified by the equipment models tofind any points having the point type specified in step 1902. Forexample, if the point type specified in step 1902 is “zone temperatureset point” or “ZNT-SP,” step 1912 may include searching the point typesor point names specified by the equipment definitions for the string“#ZNT-SP” where the “#” symbol is a wild card. Accordingly, the searchperformed in step 1912 may identify all of the zone temperature setpoints for the set of VAVs that serve Floor A or any child space withinFloor A.

Process 1900 is shown to include normalizing the values of theidentified points based on other equipment attributes (step 1914) andpresenting a list of the identified points and normalized values as aresult of the query (step 1916). The normalization performed in step1914 can normalize the values of the search results to account fordifferences between equipment from different manufacturers or havingdifferent models. For example, the set of point values can be normalizedto have the same units, the same scale, the same offset, etc. Once thepoint values have been normalized, a list of the normalized point valuescan be generated and output as a result of the query. The query resultcan be displayed to a user via search GUI 600 (e.g., in results section700) or provided as a data output to an automated process or algorithmthat triggered process 1900 to be performed.

Although process 1900 is described in the context of finding zonetemperature setpoints for VAV units, it should be understood that theVAV setpoint example is merely one of a large set of potential use casesthat are enabled by process 1900. For example, process 1900 can beperformed to find any type of points, equipment, or spaces within abuilding or building system. It is appreciated that process 1900 can beapplied to any equipment type (e.g., HVAC, lighting, security, fire,etc.) based on the equipment type specified in step 1906 and any pointtype (e.g., temperature setpoints, measured values, operatingparameters, etc.) based on the point type specified in step 1912.

Referring now to FIG. 20 , a flowchart of a process 2000 forautomatically implementing a control strategy is shown, according to anexemplary embodiment. In some embodiments, process 2000 is performed byone or more components of global search and control system 500. Forexample, process 2000 can be performed by search module 512, commandmodule 514, modification module 516, and/or report module 518 asdescribed with reference to FIGS. 5-18 . In some embodiments, process2000 is performed automatically by global search and control system 500without requiring any user intervention.

Process 2000 is shown to include receiving input invoking a controlstrategy (step 2002). In some embodiments, step 2002 includes receivinga user input that invokes the control strategy. For example, a user canselect a checkbox provided via a graphical user interface to enable acorresponding control strategy. As another example, the user input maybe provided via a user interface into a natural language processingsystem. One example of such a control strategy is an energy optimizationstrategy in which energy savings are achieved by widening temperaturesetpoints for a building or portion of a building. The control strategycan be invoked across an entire building or a portion of a building(e.g., one or more floors, zones, rooms, etc.) based on the parametersand scope of the control strategy. In other embodiments, step 2002includes receiving a control signal from a supervisory controller orother automated system or process. For example, step 2002 may includereceiving an input from a supervisory controller that causes acontrolled system to switch into a different operating mode (e.g., anenergy saving mode, a low power mode, etc.) or transition into adifferent operating state.

Process 2000 is shown to include defining outputs of the controlstrategy including equipment type, location, and/or point type (step2004). Step 2004 may include defining a particular type of point thatneeds to be modified to implement the control strategy. For example, ifthe control strategy is an energy optimization strategy that widens zonetemperature setpoints, step 2004 may include generating one or moreparameters that define the zone temperature setpoints. The points to bemodified can be defined in terms of equipment type, location, and/orpoint type. For example, the zone temperature setpoints can be specifiedas temperature setpoints for VAV units that control airflow into aparticular location where the control strategy will be implemented. Insome embodiments, the outputs of the control strategy are defined usingthe same parameters that are specified as inputs to process 1900.

Process 2000 is shown to include performing a query to find all pointsthat meet the definition of the outputs (step 2006). Step 2006 mayinclude automatically performing process 1900 using the query parametersgenerated in step 2004. Advantageously, process 1900 can beautomatically triggered and performed as part of step 2006 withoutrequiring a user to specify query parameters. The outputs of step 2006may include a list of points that meet the point definitions generatedin step 2004. For example, for the control strategy that widens zonetemperature setpoints for a specified building space, the outputs ofstep 2006 may include a list of VAV zone temperature setpoints for allVAV units that serve the specified building space.

Process 2000 is shown to include automatically modifying values of theoutput points returned as results of the query to implement the controlstrategy (step 2008). Step 2008 may include adjusting the values of thepoints in a manner consistent with the control strategy. For example, ifthe control strategy involves widening zone temperature setpoints, step2008 may include increasing a maximum temperature setpoint and/ordecreasing a minimum temperature setpoint to expand the allowabletemperature range for a building or portion thereof. In this way,process 2000 can automatically implement the control strategy bymodifying the required points without requiring any additional useraction or custom programming.

Referring now to FIG. 21 , a flowchart of a process 2100 forautomatically adapting a control strategy to account for a changedconfiguration of building equipment and/or building spaces is shown,according to an exemplary embodiment. In some embodiments, process 2100is performed by one or more components of global search and controlsystem 500. For example, process 2100 can be performed by search module512, command module 514, modification module 516, and/or report module518 as described with reference to FIGS. 5-18 . In some embodiments,process 2100 is performed automatically by global search and controlsystem 500 without requiring any user intervention.

Process 2100 is shown to include changing a configuration of buildingequipment and/or a configuration of building spaces (step 2102). Step2102 may include adding new equipment to a building, replacing olderbuilding equipment with newer building equipment, removing equipmentfrom a building, upgrading the firmware or system software installed onbuilding equipment, adding new capabilities to building equipment,installing additional components in building equipment (e.g., a newsensor), or otherwise making changes to the number, type, and/orsettings of building equipment. One example of changing theconfiguration of building equipment is installing several new VAV unitson a particular floor of a building. Each VAV unit can be associatedwith an equipment definition that specifies the location served by theVAV unit. Another example of changing the configuration of the buildingequipment is adding a discharge air temperature sensor or an energymeter after the original equipment is installed and configured in thebuilding. If the sensor becomes available (or set of sensors, parts,components, etc.), the system can be reconfigured based on new datapoints being available in the equipment objects, and subsequently theequipment definition/profile. Step 2102 may additionally oralternatively include changing the configuration of the space(s) withinthe building (with or without changing, updating, replacing, removing,or otherwise altering the building equipment already present in thespace or building). For example, a café may be converted into officespaces (e.g., with a new space mapping, office walls may be constructedthroughout the space that were not previously present, etc.). In such aninstance, the BMS may be self-healing and apply new/updated strategiesbased on updated equipment-to-space mappings received thereby.

Process 2100 is shown to include invoking a control strategy that usesthe building equipment (step 2104). In some embodiments, step 2104includes receiving a user input that invokes the control strategy. Forexample, a user can select a checkbox provided via a graphical userinterface to enable a corresponding control strategy. As anotherexample, the user input may be provided via a user interface into anatural language processing system. One example of such a controlstrategy is an energy optimization strategy in which energy savings areachieved by widening temperature setpoints for a building or portion ofa building. The control strategy can be invoked across an entirebuilding or a portion of a building (e.g., one or more floors, zones,rooms, etc.) based on the parameters and scope of the control strategy.As another example, the user may provide a new space mapping for thebuilding or space in the building. In other embodiments, step 2104includes receiving a control signal from a supervisory controller orother automated system or process. For example, step 2104 may includereceiving an input from a supervisory controller or other system thatcauses a controlled system to switch into a different operating mode(e.g., an energy saving mode, a low power mode, etc.), transition into adifferent operating state, and/or adapt to a new space mapping (e.g., inresponse to receiving the new space mapping as an input, etc.).

Although the control strategy invoked in step 2104 uses the buildingequipment, the control strategy can be defined in a general mannerwithout requiring knowledge of the specific devices of equipment thatthe control strategy will use. For example, the control strategy can bedefined as a control strategy for adjusting the temperature setpointsfor all VAV units that serve a specified location without requiringknowledge of the exact number, names, locations, or other parameters ofthe VAV units that serve the specified location. In some embodiments,the control strategy is defined using the same parameters that arespecified as inputs to process 1900. In this way, the same controlstrategy can be executed before and after the configuration of thebuilding equipment changes in step 2102. Each time the control strategyis executed, steps 2106 and 2108 can be performed to dynamicallyidentify the specific equipment that the control strategy will usewithout requiring any input from a user to adapt the control strategy touse the additional equipment.

Process 2100 is shown to include performing a query to find allequipment/points used by the control strategy, including new or changedequipment/points, if any (step 2106). Step 2106 may includeautomatically performing process 1900 using the query parameters thatdefine the control strategy (e.g., equipment type, location, pointtype). Advantageously, process 1900 can be automatically triggered andperformed as part of step 2106 without requiring a user to specify queryparameters. The outputs of step 2106 may include a list ofequipment/points that are related or associated with the change in theconfiguration (e.g., space configuration, equipment configuration, etc.)and used by the control strategy. For example, for the control strategythat widens zone temperature setpoints for a specified building space,the outputs of step 2106 may include a list of VAV units that serve thespecified space and/or zone temperature setpoints for all VAV units thatserve the specified building space. As another example, the controlstrategy that updates equipment control based on a new spaceconfiguration, the output of step 2016 may include a list of equipmentthat serve each space in the new space configuration.

Process 2100 is shown to include automatically operating the equipmentand/or modifying points returned as results of the query to execute thecontrol strategy (step 2108). Step 2108 may include adjusting the valuesof the points in a manner consistent with the control strategy. Forexample, if the control strategy involves widening zone temperaturesetpoints, step 2108 may include increasing a maximum temperaturesetpoint and/or decreasing a minimum temperature setpoint to expand theallowable temperature range for a building or portion thereof. Asanother example, if the control strategy involves adapting to a newequipment-to-space mapping, step 2108 may include identifying theequipment that serve each of the spaces of the new equipment-to-spacemapping (based on the query in step 2106), identifying the equipmentdefinitions/profiles for the equipment to understand if there are likepieces of equipment, identify if the equipment is serving or is servedby other equipment, and then utilizing the definition/profile of theequipment to modify one of, or a set of, the same type of point on eachone of the equipment to accommodate the new equipment-to-space mapping.In this way, process 2100 can automatically implement the controlstrategy by modifying the required points without requiring anyadditional user action or custom programming.

Configuration of Exemplary Embodiments

The construction and arrangement of the systems and methods as shown inthe various example embodiments are illustrative only. Although only afew embodiments have been described in detail in this disclosure, manymodifications are possible (e.g., variations in sizes, dimensions,structures, shapes and proportions of the various elements, values ofparameters, mounting arrangements, use of materials, colors,orientations, etc.). For example, the position of elements can bereversed or otherwise varied and the nature or number of discreteelements or positions can be altered or varied. Accordingly, all suchmodifications are intended to be included within the scope of thepresent disclosure. The order or sequence of any process or method stepscan be varied or re-sequenced according to alternative embodiments.Other substitutions, modifications, changes, and omissions can be madein the design, operating conditions and arrangement of the exampleembodiments without departing from the scope of the present disclosure.

The present disclosure contemplates methods, systems and programproducts on any machine-readable media for accomplishing variousoperations. The embodiments of the present disclosure can be implementedusing existing computer processors, or by a special purpose computerprocessor for an appropriate system, incorporated for this or anotherpurpose, or by a hardwired system. Embodiments within the scope of thepresent disclosure include program products comprising machine-readablemedia for carrying or having machine-executable instructions or datastructures stored thereon. Such machine-readable media can be anyavailable media that can be accessed by a general purpose or specialpurpose computer or other machine with a processor. By way of example,such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROMor other optical disk storage, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to carry or storedesired program code in the form of machine-executable instructions ordata structures and which can be accessed by a general purpose orspecial purpose computer or other machine with a processor. Combinationsof the above are also included within the scope of machine-readablemedia. Machine-executable instructions include, for example,instructions and data which cause a general purpose computer, specialpurpose computer, or special purpose processing machines to perform acertain function or group of functions.

Although the figures show a specific order of method steps, the order ofthe steps may differ from what is depicted. Also two or more steps canbe performed concurrently or with partial concurrence. Such variationwill depend on the software and hardware systems chosen and on designerchoice. All such variations are within the scope of the disclosure.Likewise, software implementations could be accomplished with standardprogramming techniques with rule based logic and other logic toaccomplish the various connection steps, processing steps, comparisonsteps and decision steps.

What is claimed is:
 1. A system for managing energy usage of equipmentin a building network, the system comprising one or more processingcircuits configured to: select a plurality of points, equipment, spaces,or objects of the building network; perform a bulk modification of theplurality of the points, equipment, spaces, or objects of the buildingnetwork by providing a bulk modification command via the buildingnetwork; analyze time series data associated with the points, equipment,spaces, or objects of the building network using values provided via thebulk modification; and manage energy usage of the equipment based on aresult of analyzing the time series data associated with the points,equipment, spaces, or objects of the building network.
 2. The system ofclaim 1, wherein performing the bulk modification comprises applyingattributes to the plurality of the points, equipment, spaces, or objectsof the building network.
 3. The system of claim 2, wherein: applying theattributes comprises applying name attributes to the plurality of thepoints, equipment, spaces, or objects of the building network; andanalyzing the time series data comprises filtering the points,equipment, spaces, or objects by the name attributes and analyzing thetime series data associated with a filtered subset of the points,equipment, spaces, or objects.
 4. The system of claim 2, wherein:applying the attributes comprises applying at least one of an alarmlimit attribute, a warning offset attribute, or an alarm setup attributeto the plurality of the points, equipment, spaces, or objects of thebuilding network; and managing the energy usage of the equipmentcomprises trigging an alarm or warning based on values of the timeseries data and values of the alarm limit attribute, the warning offsetattribute, or the alarm setup attribute.
 5. The system of claim 1,wherein managing the energy usage of the equipment comprises generatinga trend report comprising the time series data associated with thepoints, equipment, spaces, or objects of the building network.
 6. Thesystem of claim 1, wherein managing the energy usage of the equipmentcomprises determining control actions for the equipment and providingcommands to the equipment based on the control actions.
 7. The system ofclaim 1, wherein selecting the plurality of points, equipment, spaces,or objects of the building network comprises: performing a search of thepoints, equipment, spaces, or objects of the building network based onone or more filter criteria; and selecting a filtered subset of thepoints, equipment, spaces, or objects of the building network returnedas results of the search.
 8. A method for managing energy usage ofequipment in a building network, the method comprising: selecting aplurality of points, equipment, spaces, or objects of the buildingnetwork; performing a bulk modification of the plurality of the points,equipment, spaces, or objects of the building network by providing abulk modification command via the building network; analyzing timeseries data associated with the points, equipment, spaces, or objects ofthe building network using values provided via the bulk modification;and managing energy usage of the equipment based on a result ofanalyzing the time series data associated with the points, equipment,spaces, or objects of the building network.
 9. The method of claim 8,wherein performing the bulk modification comprises applying attributesto the plurality of the points, equipment, spaces, or objects of thebuilding network.
 10. The method of claim 9, wherein: applying theattributes comprises applying name attributes to the plurality of thepoints, equipment, spaces, or objects of the building network; andanalyzing the time series data comprises filtering the points,equipment, spaces, or objects by the name attributes and analyzing thetime series data associated with a filtered subset of the points,equipment, spaces, or objects.
 11. The method of claim 9, wherein:applying the attributes comprises applying at least one of an alarmlimit attribute, a warning offset attribute, or an alarm setup attributeto the plurality of the points, equipment, spaces, or objects of thebuilding network; and managing the energy usage of the equipmentcomprises trigging an alarm or warning based on values of the timeseries data and values of the alarm limit attribute, the warning offsetattribute, or the alarm setup attribute.
 12. The method of claim 8,wherein managing the energy usage of the equipment comprises generatinga trend report comprising the time series data associated with thepoints, equipment, spaces, or objects of the building network.
 13. Themethod of claim 8, wherein managing the energy usage of the equipmentcomprises determining control actions for the equipment and providingcommands to the equipment based on the control actions.
 14. The methodof claim 8, wherein selecting the plurality of points, equipment,spaces, or objects of the building network comprises: performing asearch of the points, equipment, spaces, or objects of the buildingnetwork based on one or more filter criteria; and selecting a filteredsubset of the points, equipment, spaces, or objects of the buildingnetwork returned as results of the search.
 15. A system for bulkmodification and management of points, equipment, spaces, or objects ofa building network, the system comprising one or more processingcircuits configured to: select a plurality of the points, equipment,spaces, or objects of the building network; perform a bulk modificationof the plurality of the points, equipment, spaces, or objects of thebuilding network by providing a bulk modification command via thebuilding network; analyze operating data associated with the points,equipment, spaces, or objects of the building network using valuesprovided via the bulk modification; and initiate an automated actionbased on a result of analyzing the operating data associated with thepoints, equipment, spaces, or objects of the building network.
 16. Thesystem of claim 15, wherein: performing the bulk modification comprisesapplying name attributes to the plurality of the points, equipment,spaces, or objects of the building network; and analyzing the operatingdata comprises filtering the points, equipment, spaces, or objects bythe name attributes and analyzing the operating data associated with afiltered subset of the points, equipment, spaces, or objects.
 17. Thesystem of claim 15, wherein: performing the bulk modification comprisesapplying at least one of an alarm limit attribute, a warning offsetattribute, or an alarm setup attribute to the plurality of the points,equipment, spaces, or objects of the building network; and initiatingthe automated action comprises trigging an alarm or warning based onvalues of the operating data and values of the alarm limit attribute,the warning offset attribute, or the alarm setup attribute.
 18. Thesystem of claim 15, wherein initiating the automated action comprisesgenerating a trend report comprising the operating data associated withthe points, equipment, spaces, or objects of the building network. 19.The system of claim 15, wherein initiating the automated actioncomprises determining control actions for the equipment and providingcommands to the equipment based on the control actions.
 20. The systemof claim 15, wherein selecting the plurality of points, equipment,spaces, or objects of the building network comprises: performing asearch of the points, equipment, spaces, or objects of the buildingnetwork based on one or more filter criteria; and selecting a filteredsubset of the points, equipment, spaces, or objects of the buildingnetwork returned as results of the search.